您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

一种LDPC码快速编码方法与系统

  • 申请号:CN200910087806.8 申请公布号: CN101588183B
  • 申请日: 2009-06-26 申请公布日: 2014-01-29
  • 申请(专利权)人: 专利代理机构: 北京市商泰律师事务所
  • 分类号:H03M13/11

专利介绍

不同于Turbo码,LDPC码的码长很长,虽然LDPC码的校验矩阵H是稀疏矩阵,但是其生成矩阵G一般不是稀疏矩阵。所以编码时计算量是非常大的,尤其在码长非常大的情况下。LDPC码的编码需要占用大量存储空间,需要进行庞大矩阵运算,包括大量的乘法与加法运算,这使得LDPC码的编码器的硬件具有很高的复杂度和很高的成本。为解决该问题,本发明提出一种无乘法的LDPC码快速编码系统与方法,可以使LDPC码的编码器取消庞大矩阵运算和乘法运算,计算复杂度由0(n^2)降为0(n),若子矩阵H
1.一种低密度奇偶校验码的快速编码方法,其特征在于,该方法包括如下步骤:输入待编码的信息码,所述信息码是长度为k的行向量s,并且s=[s(1)s(2)...s(k)];s(j)为所述行向量s中的元素,表示输入数据比特,其中j=1,2,...,k;将校验矩阵H划分为两个子矩阵H1和H2,使得H=[H1H2],其中H1的维数为m×k,H2的维数为m×m,而H2是具有双对角线结构的矩阵,ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>并且根据下列公式 p ( 1 ) = mod ( Σ j ∈ 1 ( j ) s ( j ) , 2 ) p ( i ) = mod ( p ( i - 1 ) + Σ j ∈ i ( j ) s ( j ) , 2 ) , i = 2,3 , · · · , m ]]>对所述信息码进行编码,获得校验码向量;其中,p(1)仅对1(j)指出的位置的输入数据比特进行二进制求和,p(i)仅对i(j)指出的位置的输入数据比特进行二进制求和,且与p(i-1)二进制相加;所述校验码向量是长度为m的行向量p,并且p=[p(1)p(2)...p(m)],而该公式中的1(j)表示H1(1,j)中非零元素的位置,i(j)表示H1(i,j)中非零元素的位置,s(j)表示输入数据比特,其中j=1,2,...,k;输出编码行向量为c=[sxa0p]。
2.一种低密度奇偶校验码的快速编码系统,其特征在于,其校验矩阵H包括两个子矩阵H1和H2,H1的维数为m×k,H2的维数为m×m,且H=[H1H2],而H2是一个具有双对角线结构的矩阵,结构如下所示:ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="524"/>待编码的信息码是长度为k的行向量s,其中信息码以k位为一帧并行输入,相应于每一帧信息码的m位校验码分别从第1位到第m位串行输出;该快速编码系统进一步包括:编码输入模块,用于实现信息码的输入;快速求和寻址模块,用于根据下列公式 p ( 1 ) = mod ( Σ j ∈ 1 ( j ) s ( j ) , 2 ) p ( i ) = mod ( p ( i - 1 ) + Σ j ∈ i ( j ) s ( j ) , 2 ) , i = 2,3 , · · · , m - - - ( 29 ) ]]>进行求和寻址;其中,p(1)仅对1(j)指出的位置的输入数据比特进行二进制求和,p(i)仅对i(j)指出的位置的输入数据比特进行二进制求和,且与p(i-1)二进制相加;s(j)为所述行向量s中的元素,表示输入数据比特,其中j=1,2,...,k;该公式中的1(j)表示H1(1,j)中非零元素的位置,i(j)表示H1(i,j)中非零元素的位置,s(j)表示输入数据比特,其中j=1,2,...,k;校验码迭代模块,用于对校验码进行迭代,满足公式(29)的要求,得到校验码向量p=[p(1)p(2)...p(m)],并输出编码行向量c=[sxa0p]。
3.如权利要求2的系统,其特征在于,编码输入模块具有多个信息码输入点,用于输入s(j),其中j=1,2,...,k,每次输入长度为k的所述行向量s:s=[s(1)s(2)...s(k)]。
4.如权利要求2的系统,其特征在于,快速求和寻址模块中有m个加法器,它们自上而下分别为加法器1,加法器2,...,加法器m,各个加法器右侧具有运算输出点;快速求和寻址模块中的电路连线方式是:子矩阵H1有m行k列,H1的第j列分别与第j个输入点的输入数据比特s(j)相对应;如果H1为等列重,且列重为v,则连接所述s(j)的电路连线只有v根;H1的第i行是一个长度为k的行向量,其中第l个元素分别与加法器i及第i个运算输出点相对应,其中l=1,2,...,k。
5.如权利要求2的系统,其特征在于,校验码迭代模块输出结果是校验码向量p=[p(1)p(2)...p(m)],校验码迭代模块中具有多个迭代输出点,用于输出各个校验码p(i),其中i=1,2,...,m。技术领域
本发明属于通信与电子系统领域,涉及编码技术,具体地涉及信道纠错码中LDPC码编码系统与方法。
背景技术
现代通信系统中,信道编码的设计是保证数据传输可靠性的一个重要组成部分,因为它可以检测并纠正信号传输过程中引入的错误。多年以来,随着通信技术的发展和实际应用的增加,人们一直努力寻找能够更加逼近先农Shannon极限的信道编码方案。从早期的分组码、代数码,到RS码、卷积码,直到今天的Turbo码、LDPC码,系统性能与Shannon极限间的差距越来越小。低密度奇偶校验码(Lowxa0Densityxa0Parity-checkxa0Code(LDPC))由Gallager于20世纪60年代首次提出。其中最重要的创新在于引入了迭代译码算法。近些年来,LDPC码受到了广泛的关注,其出色的纠错性能以及可以并行解码的特点,特别是其简单实用性,使其成为下一代通信系统纠错编码的首选。目前的研究均表明LDPC码是信道编码中纠错能力最强的一种码,而且由于其译码器结构简单,可以用较少的资源消耗获得极高的吞吐量,因此应用前景相当广泛。目前,LDPC码已被IEEExa0802.3an、DVB-S.2、IEEExa0802.16e等标准所采纳,并可应用于外层空间和卫星通信、光通信、深空通信、下一代移动通信系统、高速和甚高速率数字用户线、光和磁记录系统及网络数据包传输等领域。LDPC码结构可采用几何方法、图论方法、实验设计方法、置换(permutation)方法来设计。好的LDPC码关键在于要有好的纠错性能和需要较少的编码时间,可参见文献1:Xiaoxa0Y.,Kimxa0K,Alternativexa0goodxa0LDPCxa0codesxa0forxa0DVB-S2[C]//Proc.9thxa0Internationalxa0Conferencexa0onxa0Signalxa0Processing(ICSPxa02008),Beijing,Oct.26-29,2008,pp.1959-1962。LDPC码因其校验矩阵是含有大量0而很少1的稀疏矩阵而得名。其编码过程与一般编码类似。设待编码的信息码是长度为k的行向量s,s=[s(0)s(1)...s(k-1)],编码后得到的校验码是长度为m的行向量p,编码输出为行向量c=[sxa0p],其长度为n,则有n=k+m。设生成矩阵为G,维数为k×n,校验矩阵为H,维数为m×n。编码过程为:c=sG=[sxa0p]xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0(1)而且编码输出必须满足Hc=0xa0xa0xa0xa0(2)根据上面的式(1)和式(2)可以得到HGT=0xa0xa0xa0xa0(3)GT为G的转置。式(3)可以作为从H矩阵推导出满足条件的G矩阵的依据。虽然LDPC码的校验矩阵H是稀疏矩阵,但是其生成矩阵G一般不是稀疏矩阵。所以编码时计算量是非常大的,尤其在码长非常大的情况下。例如DVB-S.2标准中的LDPC码的码长为16200和64800,可参见文献2:ETSIxa0ENxa0302xa0307xa0V1.1.1,Digitalxa0Videoxa0Broadcasting(DVB);Secondxa0generationxa0framingxa0structure,channelxa0codingxa0andxa0modulationxa0systemsxa0forxa0Broadcasting,Interactivexa0Services,Newsxa0Gatheringxa0andxa0otherxa0broadbandxa0satellitexa0applications[S].2004,06。如果实现1/2码率的生成矩阵G,需要存储维数分别为8100×16200和32400×64800矩阵,完成式(1)的编码需要进行的乘法次数为8100×16200和32400×64800,加法次数为8100×16200和32400×64800。因此,绕过生成矩阵G而进行直接利用校验矩阵H编码,可降低系统编码系统实现的存储空间和计算量,降低实现成本。这是本发明的目的之一。设校验矩阵H的结构为H=[H1H2]xa0xa0xa0xa0(4)其中H1的维数为m×k,H2s的维数为m×m.则式(2)可以写成 [ H 1 H 2 ] · [ s T p T ] = 0 - - - ( 5 ) ]]>展开可得H2·pT+H1·sT=0xa0xa0xa0xa0(6)由于编码以元素为0,1的二进制计算进行,所以上式又可得到H2·pT=H1·sTxa0xa0xa0xa0(7) P T = H 2 - 1 · H 1 · s T - - - ( 8 ) ]]>p为校验码是长度m的向量。从式(8)可以看出,可以越过生成矩阵G而直接用校验矩阵H来编码。D.J.C.Mackay等指出:能快速编码的LDPC矩阵通常具有下三角形(lower-triangular)结构,参见文献3:D.J.C.MacKay,S.T.Wilson,M.C.Davey.Comparisonxa0ofxa0constructionsxa0ofxa0irregularxa0Gallagerxa0codes[C].IEEETransactionsxa0onxa0Communications,Sept.1998,Vol.42,No.10,pp.1449-1454。DVB-S.2标准中的LDPC码就是通过校验矩阵直接编码的,参见文献2。在DVB-S.2标准中的LDPC码的校验矩阵中,是具有双对角线结构的矩阵。虽然双对角线结构的矩阵有可能将式(8)的编码转化为一种迭代编码,但是,已有基于双对角线结构的迭代编码未考虑其快速实现。
发明内容
不同于Turbo码,LDPC码的码长很长,使LDPC码的编码需要占用大量存储空间,需要进行庞大矩阵运算,包括大量的乘法与加法运算,这使得LDPC码的编码器的硬件具有很高的复杂度和很高的成本。为解决该问题,本发明提出一种无乘法的迭代LDPC码快速编码系统与方法,可以使所LDPC码的编码器取消庞大矩阵运算和乘法运算,计算复杂度由0(n^2)降为0(n),若子矩阵H1的行重为u,码长为n,忽略寻址时间,则编码的计算速度可提高n-u倍以上。下面给出本发明的LDPC编码的快速算法。令式(4)中H1的维数为m×k,k=n-m,而H2是一个具有双对角线结构的矩阵,其维数为m×m,结构如下所示:ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>将维数为k×n的生成矩阵G写成如下形式:G=[G1xa0G2]xa0xa0xa0xa0(10)其中G1是一个维数为k×k的单位矩阵,G2的维数为k×m.所以G又可以写为:G=[Ik×kxa0G2]xa0xa0xa0xa0(11)信息码向量长度为k比特,记为:s=[s(1)s(2)...s(k)]xa0xa0xa0xa0(12)校验码向量长度为m比特,记为:p=[p(1)p(2)...p(m)]xa0xa0xa0xa0(13)设编码输出为向量c=[sxa0p],根据式(1)得到:c=sGxa0=s[G1xa0G2]xa0=s[Ik×kxa0G2]xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0(14)xa0=[sIk×kxa0sG2]xa0=[sxa0sG2]xa0=[sxa0p]由此可得,p和s的关系如下:p=sG2xa0xa0xa0xa0(15)由上式可得:p(i)=s·(G2)(i),i=1,2,...,mxa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0(16)其中(G2)(i)为生成矩阵的子矩阵G2的第i列。由式(8)得到校验矩阵H和生成矩阵G的子矩阵G2有如下关系:G2=H1T·H2-Txa0xa0xa0xa0xa0xa0xa0xa0(17)所以有 ( G 2 ) ( i ) H 1 T · ( H 2 - T ) ( i ) ]]> = Σ j = 1 m ( H 1 T ) ( j ) · H 2 - T ( j , i ) ]]> Σ j = 1 m ( H 1 ( j ) ) T · H 2 - 1 ( i , j ) ]]> = Σ j = 1 m ( H 1 ( j , 1 ) H 1 ( j , 2 ) · · · H 1 ( j , k ) · H 2 - 1 ( i , j ) ) ]]> = Σ j = 1 m H 1 ( j , 1 ) · H 2 - 1 ( i , j ) Σ j = 1 m H 1 ( j , 2 ) · H 2 - 1 ( i , j ) · · · Σ j = 1 m H 1 ( j , k ) · H 2 - 1 ( i , j ) - - - ( 18 ) ]]>将上式代入式(16)中得到: p ( i ) = s ‾ · Σ j = 1 m H 1 ( j , 1 ) · H 2 - 1 ( i , j ) Σ j = 1 m H 1 ( j , 2 ) · H 2 - 1 ( i , j ) · · · Σ j = 1 m H 1 ( j , k ) · H 2 - 1 ( i , j ) - - - ( 19 ) ]]> Σ l = 1 k s ( l ) Σ j = 1 m H 1 ( j , l ) · H 2 - 1 ( i , j ) ]]> = Σ l = 1 k s ( l ) Σ j = 1 m H 2 - 1 ( i , j ) · H 1 ( j , l ) ]]> = Σ l = 1 k s ( l ) · ( H 2 - 1 ) ( i ) · ( H 1 ) ( l ) ]]>即有: p ( i ) = ( H 2 - 1 ) ( i ) · Σ k s ( l ) · ( H 1 ) ( l ) - - - ( 20 ) ]]>现在求ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="98"/>根据式(9),对矩阵H2做如下初等行变换:依次将矩阵H2的第1行加到第2行,第2行加到第3行,...,一直到第m-1行加到第m行,结合[0,1]有限域的运算性质,则可将矩阵H2化作一个单位矩阵。根据矩阵求逆的法则,对一个维数为m×m的单位矩阵施以同样的初等变换,得到的矩阵即为ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="98"/>则有:ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>式(20)中等号右边第二个因式,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="309"/>是一个长度为m的列向量,所以记:ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>其中 a ( i ) = Σ j = 1 k s ( j ) · H 1 ( i , j ) i = 1,2 , · · · , m - - - ( 23 ) ]]>综上,最终可得:ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>上式表明,校验码向量的第i(i≥1)位p(i)等于下三角矩阵的第i(i≥1)行与[a(1)a(2)...a(m)]T相乘的结果。于是根据下三角矩阵的相邻行之间的关系可以得到迭代关系为: p ( 1 ) = a ( 1 ) p ( i ) = mod ( p ( i - 1 ) + a ( i ) , 2 ) i = 2,3 , · · · , m - - - ( 25 ) ]]>或写为 p ( 1 ) = mad ( Σ j = 1 k s ( j ) · H 1 ( 1 , j ) , 2 ) p ( i ) = mod ( p ( i - 1 ) + Σ j = 1 k s ( j ) · H 1 ( i , j ) , 2 ) , i = 2,3 , · · · , m - - - ( 26 ) ]]>式(25)或式(26)就是本发明LDPC码的迭代算法公式的基础。从迭代公式(26)可见,迭代算法的关键是如何快速计算 Σ j = 1 k s ( j ) · H 1 ( i , j ) , i = 1,2 , · · · m - - - ( 27 ) ]]>要快速实现迭代算法,则要找出式(27)的快速实现方法。根据推导式(26)的过程可知,迭代算法公式(26)中的矩阵H1是稀疏矩阵,所以迭代算法的计算复杂度小,运算量也很小。本发明计算式(27)的第2项ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="314"/>的方法是:分别将H1的第i行第j列(j=1,2,...,k)中的非零元素对应的信息码输入点s(j)送加法器,从而避免ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="311"/>中的乘法计算。因此,本发明提出, mod ( Σ i = 1 k s ( j ) · H 1 ( i , j ) , 2 ) = mod ( Σ i ∈ i ( i ) s ( j ) , 2 ) - - - ( 28 ) ]]>其中i(j)表示H1(i,j),j=1,2,...,k中的非零元素的位置。如果H1为等行重,且行重为u,则式(28)的计算无乘法计算,第i行的加法计算为u次。利用该方法,本发明提出对应式(26)的快速算法 p ( 1 ) = mod ( Σ j ∈ 1 ( j ) s ( j ) , 2 ) p ( i ) = mod ( p ( i - 1 ) + Σ j ∈ i ( j ) s ( j ) , 2 ) , i = 2,3 , · · · , m - - - ( 29 ) ]]>其中1(j)表示H1(1,j)第1行第j列(j=1,2,...,k)中的非零元素的位置,i(j)表示H1(i,j),j=1,2,...,k中的非零元素的位置。实现快速迭代算法的硬件系统框图如图1所示。图1中的系统以中间的矩形框的左右两边为分界线,将系统分为模块(a),模块(b)和模块(c)三部分。模块(a)中的s(1)-s(k)为输入数据比特;模块(b)和模块(c)中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="32"/>为二进制加法器;模块(c)中p(1)-p(m)为输出检验比特。图1系统的编码过程可以简单描述为:信息码以k位为一帧并行输入,相应于每一帧信息码的m位校验码分别从第1位到第m位串行输出。模块(a)实现编码输入,s(j)(j=1,2,...,k)所输入的各个节点叫做信息码输入点,每次输入长度为k的信息码向量:s=[s(1)s(2)...s(k)]模块(b)实现快速求和寻址,负责式(29)中的求和寻址。模块(b)中有m个加法器,它们自上而下分别叫做加法器1,加法器2,...,加法器m,即图1中的ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="61"/>各个加法器右侧的输出节点,即方框右侧模块(c)中的ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="33"/>称为迭代输出点。根据式(29),模块(b)中的电路连线方法是这样的:子矩阵H1有m行k列,H1的第j(j=1,2,...,k)列分别与第j个信息码输入点s(j)相对应。如果H1为等列重,且列重为v,则连接第j个信息码输入点s(j)的电路连线只有v根。H1的第i(i=1,2,...,m)行是一个长度为k的行向量,其中第l(l=1,2,...,k)个元素分别与加法器l,还有第l个运算输出点相对应。模块(c)的功能是实现校验码的迭代,见式(29),输出结果是校验码向量p=[p(1)p(2)...p(m)],模块(c)中输出校验码p(i)(i=1,2,...,m)的各个节点,图1中方框右侧模块(c)中的加法器ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="32"/>称为迭代输出点。从图1可以看出,通过本发明快速迭代编码算法进行编码可以避免进行乘法运算,只进行加法运算就可以实现编码。本发明的快速迭代算法上是一种通过校验矩阵提供编码地址的编码算法,并不需要信息码向量s=[s(1)s(2)...s(k)]与H1的乘法计算。如果仍将校验矩阵写成如下形式:H=[H1xa0H2]则图1的模块(b)实现的是编码中关于H1的运算,而模块(c)实现的是关于H2的运算。根据本发明迭代算法的式(29),H1是一个稀疏矩阵,所以模块(a)中每个信息码输入点所引出的电路连线很少,因此该算法的计算量非常小。根据本发明的一个方面,提供一种低密度奇偶校验码的快速编码方法,该方法包括如下步骤:输入待编码的信息码,所述信息码是长度为k的行向量s,并且s=[s(0)s(1)...s(k-1)];将校验矩阵H划分为两个子矩阵H1和H2,使得H=[H1xa0H2],其中H1的维数为m×k,H2的维数为m×m,而H2是具有双对角线结构的矩阵,ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="692"/>并且根据下列公式 p ( 1 ) = mod ( Σ j ∈ 1 ( j ) s ( j ) , 2 ) p ( i ) = mod ( p ( i - 1 ) + Σ j ∈ i ( j ) s ( j ) , 2 ) , i = 2,3 , · · · , m ]]>对所述信息码进行编码,获得校验码向量,其中所述校验码向量是长度为m的行向量p,并且p=[p(1)p(2)...p(m)],而该公式中的1(j)表示H1(1,j),j=1,2,...,k中非零元素的位置,i(j)表示H1(i,j),j=1,2,...,k中非零元素的位置;输出编码行向量为c=[sxa0p]。根据本发明的一个方面,在上述公式中,p(1)仅对1(j)指出的位置的信息比特进行二进制求和,p(i)仅对i(j)指出的位置的信息比特进行二进制求和,且与p(i-1)二进制相加。根据本发明的一个方面,提供一种低密度奇偶校验码的快速编码系统,其校验矩阵H包括两个子矩阵H1和H2,H1的维数为m×k,H2的维数为m×m,且H=[H1xa0H2],而H2是一个具有双对角线结构的矩阵,结构如下所示:ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="496"/>待编码的信息码是长度为k的行向量s,其中信息码以k位为一帧并行输入,相应于每一帧信息码的m位校验码分别从第1位到第m位串行输出;该快速编码系统进一步包括:编码输入模块,用于实现信息码的输入;快速求和寻址模块,用于根据下列公式 p ( 1 ) = mod ( Σ j ∈ 1 ( j ) s ( j ) , 2 ) p ( i ) = mod ( p ( i - 1 ) + Σ j ∈ i ( j ) s ( j ) , 2 ) , i = 2,3 , · · · , m ]]>进行求和寻址,其中该公式中的1(j)表示H1(1,j),j=1,2,...,k中非零元素的位置,i(j)表示H1(i,j),j=1,2,...,k中非零元素的位置;校验码迭代模块,用于对校验码进行迭代,得到校验码向量p=[p(1)p(2)...p(m)],并输出编码行向量c=[sxa0p]。根据本发明的一个方面,编码输入模块具有多个信息码输入点,用于输入s(j)(j=1,2,...,k),每次输入长度为k的信息码向量:s=[s(1)s(2)...s(k)]。根据本发明的一个方面,快速求和寻址模块中有m个加法器,它们自上而下分别为加法器1,加法器2,...,加法器m,各个加法器右侧具有运算输出点;快速求和寻址模块中的电路连线方式是:子矩阵H1有m行k列,H1的第j(j=1,2,...,k)列分别与第j个信息码输入点s(j)相对应;如果H1为等列重,且列重为v,则连接第j个信息码输入点s(j)的电路连线只有v根;H1的第i(i=1,2,...,m)行是一个长度为k的行向量,其中第l(l=1,2,...,k)个元素分别与加法器l,还有第l个运算输出点相对应。根据本发明的一个方面,校验码迭代模块输出结果是校验码向量p=[p(1)p(2)...p(m)],校验码迭代模块中具有多个迭代输出点,用于输出各个校验码p(i)(i=1,2,...,m)。
附图说明
图1是按照本发明的一个实施方式的快速迭代算法的硬件系统框图。图2是按照本发明的一个实施方式的本发明方法编码的码长为5400的LDPC码和同样长度随机LDPC码的误码率曲线。图3是按照本发明的一个实施方式的本发明方法编码的码长为5400的LDPC码的校验就矩阵中H1的行向量码重分布图。
具体实施方式
下面结合附图详细描述本发明的具体实施方式。根据本发明的一个具体实施方式,考虑1/2码率、长度为5400的LDPC码,其校验矩阵H的维数为2700×5400,其中矩阵H1的维数为2700×2700,H1由20个子矩阵组成,记为H1=[H1,1,H1,2,...,H1,20]xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0(30)每一个子矩阵的维数均为2700×135,每一个子矩阵有2700行、135列。设子矩阵H1,j第1列上元素“1”的行标为向量p1(j)中的元素值,即H1,j(p1,1(j),1)=1,...,H1,j(p1,v(j),1)=1,其中v为H1,j的列重,向量p1(j)中有8个元素代表子矩阵H1,j的v=8。规定1/2码率、长度为5400的LDPC码的检验矩阵中H1的20个子矩阵第1列素“1”的行标,即表1。表1对应于向量p1(j),p1(j)=[p1,1(j),p1,2(j),...,p1,v(j)],j=1,2,...,20。由表1,矩阵H1的前5个子矩阵列重为8,后15个子矩阵列重为3.p1(j)中有8个元素代表子矩阵H1,j的v=8。当j=1,...,5时,p1(j)的v=8。p1(j)中有3个元素代表子矩阵H1,j的q=3。当j=6,...,20时,p1(j)的v=3。子矩阵H1,j中第1个列向量p1(j)由表1中的第j行数字定义。子矩阵H1,j后续各列1的位置由p1(j)计算,pk,i(j)=mod((p1,i(j)+20×(k-1)),2700)xa0xa0xa0xa0(31)11,j。表1:码率=1/2(码长N=5400)时的p1(j)的取值ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="607"/>下面以子矩阵H1,1为例来说明如何由表1中的一行数字来生成一个子矩阵。p1(j)由表1第一行数字(20xa0712xa02386xa0954xa01361xa01062xa02345xa02458)来定义。通过DVB-S2(参见文献2)中对LDPC码的定义可知,当k=1时,第1个子矩阵H1,1的p1(1)的元素为p1,1(1)=20,p1,2(1)=712,p1,3(1)=2386,p1,4(1)=954,p1,5(1)=1361,p1,6(1)=1062,p1,7(1)=2345,p1,8(1)=2458.子矩阵H1,1的第1列“1”的位置由上述p1(1)的元素确定。H1,1的后续各列“1”的位置由pk(1)的元素确定。通过式(8)可以得到pk(1),k=1,2,...,135,pk,1(1)=mod((20+20×(k-1)),2700),pk,2(1)=mod((712+20×(k-1)),2700),pk,3(1)=mod((2386+20×(k-1)),2700),pk,4(1)=mod((954+20×(k-1)),2700),pk,5(1)=mod((1361+20×(k-1)),2700),pk,6(1)=mod((1062+20×(k-1)),2700),pk,7(1)=mod((2345+20×(k-1)),2700),pk,8(1)=mod((2458+20×(k-1)),2700)。这样就可以得到H1,1。同理,可以得到H1,2,H1,3,...,H1,20。子矩阵H2的维数为2700×2700,H2为一双对角矩阵,ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="596"/>由式(31)和式(32)得到式(1)的校验矩阵H=[H1xa0H2]。为了方便关于本发明涉及的LDPC码误码率性能的系统仿真,系统仿真实验中发送的LDPC编码序列采用BPSK调制,通过加性白噪声(AWGN)信道传输,接收端采用BP迭代译码,BP迭代译码见文献4(D.J.C.MacKay,“Goodxa0error-correctingxa0codesxa0basedxa0onxa0veryxa0sparsexa0matrices”,IEEExa0Transactionsxa0onxa0Informationxa0Theory,Vol.45,No.2,1999,pp.399-431),最大迭代次数为20。仿真中每个信噪比观测点采用200数据帧,每帧为5400比特。采用本发明方法进行系统仿真编码,并与随机LDPC码比较。一种随机LDPC码的设计参见文献5:Y.Xiao,M.H.Lee,“Adaptivexa0LDPCxa0decodingxa0forxa0multipathxa0channels”,ICSPxa02006,pp.342-345.随机LDPC码的校验矩阵未采用双对角线子矩阵。系统仿真中码长为5400,码率为0.5。本发明方法编码的LDPC码和随机LDPC码在码长5400,码率0.5。系统仿真得到码长为5400的本发明方法编码的LDPC码和随机LDPC码的误码率性能曲线,如图2所示。图2中横坐标为信噪比,纵坐标为误码率,带星号的曲线为本发明LDPC码的误码率性能曲线,带圆圈的曲线为随机LDPC码的误码率性能曲线。图2的曲线显示按本发明方法编码的LDPC码误码率性能可优于随机LDPC码在码长5400,码率0.5时的误码率性能,两种码的误码率在1dB-2dB间出现好码具有相近“瀑布”特性。误码率曲线的“瀑布”特性指误码率曲线在某范围内迅速下降的特性,该特性只有好码具备。“瀑布”特性意味着该码在同等码长的情况下,具有较强的纠错能力。图3给出本发明方法编码的码长为5400的LDPC码的校验矩阵中H1的行向量码重分布。图2中横坐标表示H1的行向量码重,纵坐标H1的行向量码重分布,各个柱体表示H1的行向量中各个码重的行向量个数。根据图3,本发明实施例的编码需要的加法次数为2700×3,(3为H1的平均行向量码重),无乘法运算,无需存储生成矩阵G,仅需存储子矩阵H1的各行向量的地址;而实现1/2码率、码长为5400的随机LDPC码的生成矩阵G,需要存储维数为2700×5400矩阵,完成式(1)的编码需要进行的乘法次数为2700×5400,加法次数为2700×5400。两者相比,本发明实施例的编码计算比同样1/2码率、码长为5400的随机LDPC码的编码计算速度,提高(5400-3)倍以上。上述特定的实施例可直接用于手机视频编解码系统或一般无线通信系统,其执行过程和结果说明本发明的特征和优点。该实施例和执行过程包括被认为用于实现本发明的最佳方式。本发明也可以是其它不同的实施例,本发明的多处内容可以在各种显而易见的方面上进行修改,所有的修改将不会超出本发明的精神和范围。因此,附图和说明书都被认为是实质上起说明性的作用,而非限制性的作用。